Delivering software to customers has become a complicated business, particularly for the computer manufacturers. In the past, customers simply bought a computer system from the manufacturer and bought the software from third-party vendors. The responsibility of making certain the compatibility of the software to the purchased system and maintaining a back-up copy (in case of a hard disk crash or inadvertent erasure of the software) was on the end user. The end user also exercised his discretion in making unauthorized duplicate copies, and the third-party software vendors were ultimately responsible for preventing such practices.
In the modern computer era, software vendors and computer manufacturers work very closely together to bundle a set of software with the computer system being sold to the customers. As a result, much of the responsibility which was left for the end user is now borne by the manufacturer.
From the customer's side, the manufacturers are now responsible for ensuring that the software it delivers to the end user is compatible with the particular computer system which was purchased by the customer. In the modern era where computer systems come in an array of hardware configurations, ensuring that a particular software will successfully run on a particular model requires much effort. It is not uncommon for a manufacturer to spend many man-hours testing the software for different models to ensure compatibility, a task which can be quite costly.
In addition to ensuring the compatibility of the software, the manufacturers must provide effective customer support. This includes value-added services such as configured-to-order options so that the customers can choose the software he or she wants with the computer system. Also, the manufacturer should provide some mechanism for software recovery in case of a hard disk crash or an inadvertent erasure of the software. Moreover, it would be beneficial for the manufacturers to provide options for additional orders of software. A successful implementation of these services depend on a fast and reliable way to deliver the requested software from the manufacturer to the hard disk of the customer's purchased system.
From the software vendor's side, the manufacturers are often encouraged to deliver the software to the customers in a way which prevents or discourages unauthorized duplicate copies. Successful implementation of such a system is a great benefit to the manufacturer (in addition to the software vendors, of course) as it can often negotiate for a better price for the software from the vendors, the savings of which the manufacturer can pass down to the customers.
The various software delivery systems currently implemented by the industry fail to address some or all of the issues described above. For example, in the most common system where an unspecified bundle of software is simply included in the hard disk of a purchased computer system, the customer has no choice in what software he desires, and all back-up copies must be made by the customer if such copying is allowed. Although this type of a system can allow the manufacturer to ensure the compatibility of the installed software to the hardware, the customer has to accept the software he may not wish to receive, and has no choice to request the software he truly needs. Moreover, the customer must expend the time and effort to make the backup files. Furthermore, if the customer is allowed to make duplicate copies for backup purposes, there is virtually no assurance that the additional duplicate copies are not being made for other unauthorized purposes such as unauthorized selling or sharing of the software.
To address the inadequacies of such systems, some computer manufacturers have implemented a configured-to-order (CTO) system such as the one described in the U.S. Pat. No. 5,894,571. In this system, the manufacturer first receives a customer order for a computer system. The customer order includes a list of hardware configuration components and a list of software configuration components. The hardware components which are designated by the list are first assembled. The software components which are designated by the list are then configured and written onto a CD-ROM. The CD-ROM is then used to install the selected software configuration onto the custom hardware configuration and subsequently serve as a permanent backup copy for the customer. The CD-ROM is written with an identifier of the specific computer hardware assembled in the manufacturing process and the identification written to the CD-ROM is checked when the software is loaded from the CD-ROM onto the computer so that the software is only accessible to the specified computer hardware.
This system addresses some of the concerns mentioned above, but not all. For one, it does give the customer the option to choose the software he or she wants. The system also provides a backup copy for the specific software purchased by the customer while preventing or limiting software piracy. However, the system suffers from, among others, two main shortcomings.
First, from the customer's side, it does not allow quick and convenient delivery of additional after-sale orders for software from the customer. In other words, if the customer were to want to purchase additional software products from the manufacturer which are available for the purchased hardware configuration, the manufacturer must send an additional CD-ROM (or other types of storage device containing the software), or the customer must download the software from a network such as the internet. Both of these delivery methods are traditional methods which have the obvious shortcomings such as additional expense (for the case of CD-ROM), or long download time (for the internet case).
Second, from the manufacturing side, in the system described above, the manufacturer can produce the CD-ROM containing the custom-ordered software only after the customer orders a computer system and specifies the hardware configuration components and software configuration components. The CD-ROM cannot be mass produced before the order is placed. From the manufacturing point of view, the ability to mass produce a CD-ROM prior to receiving the order from the customer has a number advantages such as fast turnaround time for the ordering customers, and savings in cost and labor for the manufacturer.
Therefore, it is obvious that there is a great desirability for a software delivery system which can provide customers with choices of software when purchasing a computer system and which can quickly and reliably deliver the software both before and after the delivery of the computer system, while facilitating savings in manufacturing cost and preventing software piracy.